package com.ruoyi.publish.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.ExcelField;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 审读样本对象 rv_sample
 * 
 * @author confusefox
 * @date 2020-11-04
 */
public class RvSample extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 创建人姓名 */
    //@Excel(name = "创建人姓名")
    private String createName;

    /** 更新姓名 */
    //@Excel(name = "更新姓名")
    private String updateName;

    /** 名称 */
    @Excel(name = "样本名称")
    private String name;

    /** 介质 */
    @Excel(name = "样本介质",dictType="review_sample_medium")
    private String medium;

    /** 出版单位id */
    //@Excel(name = "出版单位id")
    private Long publisherId;

    /** 出版单位 */
    @Excel(name = "出版单位")
    private String publisher;

    /** 期刊主分类 */
    @Excel(name = "期刊主分类")
    private String journalSuper;

    /** 期刊子分类 */
    @Excel(name = "期刊子分类")
    private String journalSub;

    /** 缴送时间 */
    @Excel(name = "缴送时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date deliveryTime;

    /** 标识 */
    @Excel(name = "出版标识")
    private String identification;

    /** 封面 */
    //@Excel(name = "封面")
    private String cover;

    /** 说明 */
    //@Excel(name = "说明")
    private String sampleDesc;

    /** 稿件id */
    //@Excel(name = "稿件id")
    private Long reviewId;

    /** 审读结果 */
    //@Excel(name = "审读结果")
    private String ex1;

    /** 备用字段 */
    //@Excel(name = "备用字段")
    private String ex2;

    /** 备用字段 */
    //@Excel(name = "备用字段")
    private String ex3;

    /** 备用字段 */
    //@Excel(name = "备用字段")
    private String ex4;

    /** 备用字段 */
    //@Excel(name = "备用字段")
    private String ex5;

    /**
     * 导出的id集合
     */
    private String exportIds;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCreateName(String createName) 
    {
        this.createName = createName;
    }

    public String getCreateName() 
    {
        return createName;
    }
    public void setUpdateName(String updateName) 
    {
        this.updateName = updateName;
    }

    public String getUpdateName() 
    {
        return updateName;
    }
    public void setName(String name) 
    {
        this.name = name;
    }


    @ExcelField(required = ExcelField.ExcelRequired.must,filedName = "样本名称")
    public String getName() 
    {
        return name;
    }

    public void setMedium(String medium) 
    {
        this.medium = medium;
    }

    @ExcelField(required = ExcelField.ExcelRequired.must,filedName = "样本介质")
    public String getMedium() 
    {
        return medium;
    }

    public void setPublisherId(Long publisherId) 
    {
        this.publisherId = publisherId;
    }

    public Long getPublisherId() 
    {
        return publisherId;
    }

    public void setPublisher(String publisher) 
    {
        this.publisher = publisher;
    }

    @ExcelField(required = ExcelField.ExcelRequired.must,filedName = "出版单位")
    public String getPublisher() 
    {
        return publisher;
    }

    public void setJournalSuper(String journalSuper) 
    {
        this.journalSuper = journalSuper;
    }

    @ExcelField(required = ExcelField.ExcelRequired.must,filedName = "期刊主分类")
    public String getJournalSuper()
    {
        return journalSuper;
    }

    public void setJournalSub(String journalSub) 
    {
        this.journalSub = journalSub;
    }

    @ExcelField(required = ExcelField.ExcelRequired.no,filedName = "期刊子分类")
    public String getJournalSub() 
    {
        return journalSub;
    }
    public void setDeliveryTime(Date deliveryTime) 
    {
        this.deliveryTime = deliveryTime;
    }

    @ExcelField(required = ExcelField.ExcelRequired.must,filedName = "缴送时间")
    public Date getDeliveryTime() 
    {
        return deliveryTime;
    }
    public void setIdentification(String identification) 
    {
        this.identification = identification;
    }

    @ExcelField(required = ExcelField.ExcelRequired.must,filedName = "出版标识")
    public String getIdentification() 
    {
        return identification;
    }
    public void setCover(String cover) 
    {
        this.cover = cover;
    }

    public String getCover() 
    {
        return cover;
    }
    public void setSampleDesc(String sampleDesc) 
    {
        this.sampleDesc = sampleDesc;
    }

    public String getSampleDesc() 
    {
        return sampleDesc;
    }
    public void setReviewId(Long reviewId) 
    {
        this.reviewId = reviewId;
    }

    public Long getReviewId() 
    {
        return reviewId;
    }
    public void setEx1(String ex1) 
    {
        this.ex1 = ex1;
    }

    public String getEx1() 
    {
        return ex1;
    }
    public void setEx2(String ex2) 
    {
        this.ex2 = ex2;
    }

    public String getEx2() 
    {
        return ex2;
    }
    public void setEx3(String ex3) 
    {
        this.ex3 = ex3;
    }

    public String getEx3() 
    {
        return ex3;
    }
    public void setEx4(String ex4) 
    {
        this.ex4 = ex4;
    }

    public String getEx4() 
    {
        return ex4;
    }
    public void setEx5(String ex5) 
    {
        this.ex5 = ex5;
    }

    public String getEx5() 
    {
        return ex5;
    }

    public String getExportIds() {
        return exportIds;
    }

    public void setExportIds(String exportIds) {
        this.exportIds = exportIds;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createName", getCreateName())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateName", getUpdateName())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("name", getName())
            .append("medium", getMedium())
            .append("publisherId", getPublisherId())
            .append("publisher", getPublisher())
            .append("journalSuper", getJournalSuper())
            .append("journalSub", getJournalSub())
            .append("deliveryTime", getDeliveryTime())
            .append("identification", getIdentification())
            .append("cover", getCover())
            .append("sampleDesc", getSampleDesc())
            .append("reviewId", getReviewId())
            .append("ex1", getEx1())
            .append("ex2", getEx2())
            .append("ex3", getEx3())
            .append("ex4", getEx4())
            .append("ex5", getEx5())
            .toString();
    }
}
